package com.ruoyi.wvp.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseModel;

import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.List;

/**
 * 部门数据权限对象 wvp_data_role
 * 
 * @author ruoyi
 * @date 2024-08-11
 */
@Schema(description = "部门数据权限对象")
@TableName("wvp_data_role")
@Setter
@Getter
@ToString
public class DataRole extends BaseModel{
    private static final long serialVersionUID = 1L;

    /** 角色ID */
    @Schema(title = "角色ID")
    @TableId(type = IdType.AUTO)
    private Long id;
    /** 角色名称 */
    @Schema(title = "角色名称")
    @Excel(name = "角色名称")
    private String name;
    /** 显示顺序 */
    @Schema(title = "显示顺序")
    @Excel(name = "显示顺序")
    private Long sort;
    /** 数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限） */
    @Schema(title = "数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）")
    @Excel(name = "数据范围", readConverterExp = "1=：全部数据权限,2=：自定数据权限,3=：本部门数据权限,4=：本部门及以下数据权限")
    private String dataScope;
    /** 菜单树选择项是否关联显示 */
    @Schema(title = "菜单树选择项是否关联显示")
    @Excel(name = "菜单树选择项是否关联显示")
    private Integer menuCheckStrictly;
    /** 部门树选择项是否关联显示 */
    @Schema(title = "部门树选择项是否关联显示")
    @Excel(name = "部门树选择项是否关联显示")
    private Integer deptCheckStrictly;
    /** 角色状态（0正常 1停用） */
    @Schema(title = "角色状态（0正常 1停用）")
    @Excel(name = "角色状态", readConverterExp = "0=正常,1=停用")
    private String status;

    @TableField(exist = false)
    private List<Long> addressUnitIds;

}
